linux安装python3(超详细)解决Can‘t connect to HTTPS URL because the SSL 的报错 |
您所在的位置:网站首页 › 安装openssl cant locate › linux安装python3(超详细)解决Can‘t connect to HTTPS URL because the SSL 的报错 |
前言:
最近在linux系统里安装python3.11之后,使用pip安装第三方库、requests库进行网络请求都会报这个错 查找了网上很多方法,看见了一个大佬的,是在pip 的命令最后面加上: -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com加上之后确实可以安装第三方库了,但是在我用requests库进行请求的时候 又报了这个错 但是请求http的话,是不会报错的 于是在百度里到处找解决办法,最后在一个大佬的文章里Caused by SSLError(“Can‘t connect to HTTPS URL because the SSL module is not available.“) 详解_tobybo的博客-CSDN博客,看见了方法,由于大佬写的不好理解,有些步骤也省略了(我也花了很长时间才理解的),我在这详细记录下解决办法。 解决办法: 安装最新版的OpenSSL:进入 /usr/local 目录: cd /usr/local(建议跟我一样的目录,后面不用改命令) 下载最新版的OpenSSL:wget https://www.openssl.org/source/openssl-3.0.2.tar.gz --no-check-certificate 下载成功后解压: tar -zxvf openssl-3.0.2.tar.gz解压成功后进入解压后的目录里: cd openssl-3.0.2/输入命令配置: ./Configure --prefix=/usr/local/openssl 出现这个代表配置成功,但是大概率会失败 一般会失败报错:Can‘t locate IPC/Cmd.pm in 原因是因为缺少IPC/Cmd.pm模块,需要安装这个模块,安装方法在一个大佬文章Linux安装openssl出现Can‘t locate IPC/Cmd.pm in,error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1_无奈的码农的博客-CSDN博客里找到的。 先安装perl-CPAN: yum install -y perl-CPAN
进入后第一步选yes,第二步选manual,第三步选yes 出现以下cpan[1]>就可以了 安装缺少的模块: install IPC/Cmd.pm
按Ctrl+D退出cpan 重新输入命令配置: ./Configure --prefix=/usr/local/openssl配置成功 配置安装: make && make install安装成功后进入到安装后的目录里: cd /usr/local/openssl可以看到目录里没有lib目录,只有lib64,我们需要手动复制一个lib目录出来(这一步非常关键): cp -rf /usr/local/openssl/lib64 /usr/local/openssl/lib至此,OpenSSL安装成功 重新安装python3: 卸载python3(之前没有安装的话,跳过这一步):先检查自己是否安装了python3: python3 --version卸载掉之前安装的python3,直接删除掉自己安装python3的目录就可以了 rm -rf /usr/local/python3下载安装包: 一、linux系统里直接下载(速度比较慢,不推荐): 进入到/usr/local目录下(推荐使用一样的目录) cd /usr/local输入命令下载: wget https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tgz二、Windows下载好后上传到linux(推荐) 下载安装包,python官网:Welcome to Python.org(我下载的是python3.11.2) 也可以在网盘下载:百度网盘 请输入提取码 下载好后,上传到linux系统的/usr/local/目录(我是用的宝塔上传的,要安装宝塔的话可以看上一篇:linux安装Jenkins详细步骤_黄花闺女郭德纲的博客-CSDN博客) 解压压缩包: tar -xvf Python-3.11.2.tgz下载安装依赖: sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel进入解压的python目录里 cd Python-3.11.2/配置编译模式(后面的参数非常重要,一定不要省略): ./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
编译完成后,安装: make install 安装完成: 添加软链接,让python3和pip3这两个命令指向刚刚安装的python3.11 ln -s /usr/local/python3/bin/python3.11 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.11 /usr/bin/pip3 如果这个错 需要删除之前建立的软连接 rm -rf /usr/bin/python3 rm -rf /usr/bin/pip3 再重新添加软连接 检查python3是否安装完毕: python3 --version 测试一下pip3能不能正常下载第三方库(可以成功下载了): 测试一下requests能不能发起https的请求(可以成功发起请求了): 最后安装第三方库时提示的pip升级,可以复制下面绿色的命令执行,升级pip |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |